
 // Learn cc.Class:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/class.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/class.html
// Learn Attribute:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/life-cycle-callbacks.html

cc.Class({
    extends: cc.Component,

    properties: {
        angularImpulase:-90000
        // foo: {
        //     // ATTRIBUTES:
        //     default: null,        // The default value will be used only when the component attaching
        //                           // to a node for the first time
        //     type: cc.SpriteFrame, // optional, default is typeof default
        //     serializable: true,   // optional, default is true
        // },
        // bar: {
        //     get () {
        //         return this._bar;
        //     },
        //     set (value) {
        //         this._bar = value;
        //     }
        // },
    },

    // LIFE-CYCLE CALLBACKS:

    onLoad () {
        // this.node.on(cc.Node.EventType.TOUCH_START, function(event) {
        //     cc.log("hand TOUCH_START");
        //         this.startRoate11();
        // }, this);
        // this.node.on(cc.Node.EventType.TOUCH_MOVE, function(event) {
        //     cc.log("hand TOUCH_START");
        //         this.startRoate11();
        // }, this);

        // this.node.on(cc.Node.EventType.TOUCH_END, function(event) {
        //     cc.log("hand TOUCH_END");
           
        // }, this);
        // this.node.on(cc.Node.EventType.TOUCH_CANCEL, function(event) {
        //     cc.log("hand TOUCH_CANCEL");
         
        // }, this);
        // this.node.on(cc.Node.EventType.MOUSE_DOWN, function(event) {
        //     cc.log("hand MOUSE_DOWN");
        // }, this);

        //this.startRoate11();
    },

    start () {

    },

    update (dt) {
        
    },

    startRoate11 : function() {
        cc.log("hand startRoate11");
        let rigidBody = this.node.getComponent(cc.RigidBody);
        rigidBody.applyAngularImpulse(this.angularImpulase);
        // rigidBody.applyTorque(this.angularImpulase);
        // rigidBody.applyLinearImpulse(cc.v2(0, 10000), rigidBody.getWorldPosition());
    },


    resetRoate:function(){
        cc.log("hand resetRoate");
        // let revoluteJoint = this.node.getComponent(cc.RevoluteJoint);
        let rigidBody = this.node.getComponent(cc.RigidBody);
        // rigidBody.resetInEditor();
        rigidBody.applyAngularImpulse(-this.angularImpulase);
    },
    
       // 只在两个碰撞体结束接触时被调用一次
       onEndContact: function (contact, selfCollider, otherCollider) {
        cc.log("[hand Ball] collison ball end");
        if (otherCollider.tag == 100) {
            this.ball = otherCollider;
            this.ballRigidBody = this.ball.getComponent(cc.RigidBody);
            cc.log("[hand Ball]linearVelocity="+this.ballRigidBody.linearVelocity);
            var velocity = cc.v2(this.ballRigidBody.linearVelocity.x*1.3,this.ballRigidBody.linearVelocity.y*1.3);;
            this.ballRigidBody.linearVelocity = velocity;
            cc.log("[hand Ball]linearVelocity2="+this.ballRigidBody.linearVelocity);
        }
    },
});
